new function() {
  
  this.patterns = [
    { regex: Quode.JSH.util.regex.xmlComment,css: "comment" },
    { regex: Quode.JSH.util.regex.xmlCDATA, css: "cdata" },
    { regex: Quode.JSH.util.regex.xmlDoctype,css: "doctype" },
    { regex: Quode.JSH.util.regex.xmlPI, css: "pi" },
    { regex: Quode.JSH.util.regex.xmlEntity, css: "entity" },
    { regex: new RegExp("</?"),
      embed: {
        patterns: [
          { regex: new RegExp("[\\w-]+:"), css: "prefix" },
          { regex: new RegExp("[\\w-]+(?=\\s*=)"), css: "attribute" },
          { regex: new RegExp("[\\w-]+"), css: "tag-name" },
          { regex: new RegExp("([\"'])(?:.|\\r?\\n)*?\\1"), css: "attribute-value" }
        ]
      },
      until: new RegExp("/?>"),
      css: "tag"
    }
  ];
  
  Quode.JSH.language.register(this, ["xml", "xsl", "xslt", "xsd"]);
};

